
#ifndef CVQTESTNODE_H
#define CVQTESTNODE_H


#include "CMarCoreMaterial.h"
#include "CMCGlu.h"
#include "CTetra.h"


using namespace irr;

using namespace MarCore;
using namespace VolumetricQuatroid;

namespace MarCore
{

class CIrrTetra : public scene::ISceneNode//, public CMarCoreMaterial
{

    core::aabbox3d<f32> Box;
//	video::S3DVertex vertices[4];
	video::SMaterial material;


public:

    ///! Default constructor
    CIrrTetra();

    ///! Constructor
    CIrrTetra(scene::ISceneNode* parent, scene::ISceneManager* mgr, s32 id,
            CVolumetricQuatroid* vq_, CMCGlu* glu, IrrlichtDevice* device);

    void OnRegisterSceneNode();

    void render();

    const core::aabbox3d<f32>& getBoundingBox() const;

    u32 getMaterialCount() const;

    video::SMaterial& getMaterial(u32 i);

    ///! Creates and sets Meshbuffer, Mesh and prep stuff.
    ///!ltr dude....what?
    void createMesh( CVolumetricQuatroid* vq_ );

    //! Sets the mesh.
    void setMesh( video::SMesh* mesh_);

protected:

///@note Hmmm, this might not be a good idea, but what about skipping having
/// an SMesh and just drawing directly a meshbuffer? I mean only for VQs of
/// course, and then we would add streamlined just-what-I-need features for
///sake of quality and performance.

    video::SMesh* Mesh;


}; //end class CVQTestNode

}; //end namespace MarCore

#endif
